草庐IT

C++ 精度 : String to Double

全部标签

c# - 将 long 转换为 double 的精度损失有多大?

我在stackoverflow上的不同帖子和C#文档中读到,将long(或任何其他表示数字的数据类型)转换为double会失去精度。由于float的表示,这一点非常明显。我的问题是,如果将较大的数字转换为double,精度损失有多大?我是否必须期望差异大于+/-X?我想知道这一点的原因是我必须处理一个long的连续计数器。这个值被我的应用程序读取为string,需要转换并且必须除以例如10或其他一些小数字,然后进一步处理。decimal是否更适合这项任务? 最佳答案 convertinglong(oranyotherdatatype

c# - .NET 中定时器的最大精度是多少?

我想知道System.Timers中Timer类的精度是多少,因为它是double(这似乎表明您可以有几分之一毫秒)。这是什么? 最佳答案 Windows桌面操作系统在40毫秒以下确实不准确。操作系统根本不是实时的,因此会出现明显的不确定性抖动。这意味着虽然它可能会报告精确到毫秒甚至更小的值,但您不能指望这些值真正有意义。因此,即使Timer间隔设置为某个亚毫秒值,您也不能依赖设置和触发之间的时间来实现您所说的实际时间。除此之外,您正在运行的整个框架是不确定的(GC可能会暂停您并在Timer应该触发的时间进行收集)并且您最终会面临大

c# - 添加两个 .NET SqlDecimals 会提高精度吗?

在.NET中,当我添加两个SqlDecimals时,如下所示:SqlDecimals1=newSqlDecimal(1);SqlDecimals2=newSqlDecimal(1);SqlDecimals3=s1+s2;那么s3的精度为2,而s1和s2的精度均为1。这看起来很奇怪,尤其是文档指出加法运算符的返回值是“一个新的SqlDecimal结构,其Value属性包含总和”。IE。根据文档,加法不应改变精度。我是不是漏掉了什么?这是有意为之的行为吗?干杯,摄影师 最佳答案 Thisarticle(http://msdn.micro

c# - WebAPI、JSON.Net 和丢失小数精度

我在使用WebAPI和JSON.Net时遇到了一些奇怪的问题。在反序列化已提交给我的API的JSON时,我似乎失去了精度!我将小数点保留到小数点后3位,但是当值在我的对象中具体化时,它只保留到小数点后2位!我提交的JSON如下所示:{id:1,name:'mockdata',value:123.456}这绑定(bind)到一个看起来像这样的类:publicclassMockObject{publicintId{get;set;}publicstringName{get;set;}publicdecimalValue{get;set;}}为了完整起见,这基本上是我的WebAPI方法的样子

c# - 填充数据集时 ODP.net Oracle 十进制数精度问题。异常 : Arithmetic operation resulted in an overflow

我正在使用c#.net2(VisualStudio2005SP1)尝试使用来自Oracle10g数据库的select*from表的结果填充数据集。.net框架、IDE和数据库无法在此客户端站点进行更改。我正在使用ODP.net提供商进行连接,dll版本是2.102.2.20当我运行填充命令时出现异常:算术运算导致溢出此外,如果我尝试在VisualStudio设计器(显示表数据)中查看有问题的列,我会为表中该列的每一行获取。如果我的查询选择其他带有整数的列(例如省略此列),则代码可以完美运行。当我在Toad的数据库中查看时,有问题的列看起来很好,数据如下:919.742866695572

c# - Entity Framework 丢失 Sql DateTime 精度

我正在使用EntitySQL查询我的EDM,我的DateTime值失去毫秒精度。例如,2011/7/2012:55:15.333PM更改为2011/7/2012:55:15.000PM。我已经确认在SQL中精确记录了毫秒数。我可以在.edmxXML文件中应用一个Precision属性,但我不知道它需要什么样的值,有谁知道如何使用这个精度属性?谢谢。 最佳答案 这取决于SQLServer版本...参见http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-ne

c# - 小数存储 C# 中已解析字符串的精度?有什么影响?

在IRC上的一次对话中,有人指出了以下内容:decimal.Parse("1.0000").ToString()//1.0000decimal.Parse("1.00").ToString()//1.00decimal类型如何/为什么像这样保持精度(或者更确切地说,有效数字)?我的印象是这两个值是相等的,而不是不同的。这也引发了进一步的问题:在数学运算中如何确定有效数字的个数?在序列化过程中是否保留了有效数字的数量?当前的文化是否会影响处理方式? 最佳答案 在数学运算中如何确定有效数字的个数?这在ECMA-334中指定C#4规范11

javascript - 使用 Javascript 或 Jquery 将整数转换为精度为 2 的 float

我想将整数转换为精度为2的float。即。-11=>11.0045=>45.00请帮帮我。谢谢。 最佳答案 使用.toFixed:varnum=45;num.toFixed(2);//"45.00" 关于javascript-使用Javascript或Jquery将整数转换为精度为2的float,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11685253/

javascript - Javascript 中 float 的精度可以成为非确定性的来源吗?

相同的数学运算是否会在不同的架构或浏览器中返回不同的结果? 最佳答案 其他答案不正确。根据ECMAScript5.1specs(第15.8.2节)NOTEThebehaviourofthefunctionsacos,asin,atan,atan2,cos,exp,log,pow,sin,sqrt,andtanisnotpreciselyspecifiedhereexcepttorequirespecificresultsforcertainargumentvaluesthatrepresentboundarycasesofinter

javascript - Chrome 中的 Math.log2 精度发生了变化

我编写了一个JavaScript程序,它根据元素的数量计算二叉树的深度。我的程序几个月来一直运行良好,但最近我发现在Chrome和Firefox中查看网页时存在差异。特别是在Firefox上:Math.log2(8)=3但现在在Chrome中:Math.log2(8)=2.9999999999999996我的JavaScript程序最初是为了根据元素的数量来查找二叉树的深度而编写的:vartree_depth=Math.floor(Math.log2(n_elements))+1;我对这个公式做了一个简单的修改,以便它在Chrome上仍然可以正常工作:varepsilon=1.e-5;